package com.ruoyi.lab.utils;

import java.util.HashMap;
import java.util.Map;

public class StatusTest {
    public static Map<String,String> OutlineStatusResult (Map<String,String> status){
        Map<String,String> r = new HashMap<String,String>();
        String x = status.get("usertype");
        //大纲未正式发布前只能由试验院查看和编辑(stage)(大纲)
        if ("beforeissue".equals(status.get("stage"))){
            r.put("试验院", "-r-w");
            r.put("供应商", "null");
            r.put("第三方试验室", "null");
            return r;
        }
        //大纲发布后，试验院可见不可编辑，对应供应商可见不可编辑，无论是否指定第三方试验室，第三方试验室都不可见(stage)(stage2)(大纲)
        if ("underissue".equals(status.get("stage")) && ("beforeaudit".equals(status.get("stage2")) || "underaudit".equals(status.get("stage2")))){
            r.put("试验院", "-r");
            r.put("供应商", "-r");
            r.put("第三方试验室", "null");
            return r;
        } else{
            r.put("试验院", "-r");
            r.put("供应商", "-r");
            if ("02".equals(x)) {
                r.put("第三方试验室", "-r");
            }else{
                r.put("第三方试验室", "null");
            }
            return r;
        }
    }
    public static Map<String, String> ProjectStatusResult(Map<String, String> status) {
        Map<String, String> r = new HashMap<String, String>();
        String x = status.get("usertype");
        //计划正式提交前，试验院不可见，供应商可见可编辑，无论是否指定第三方试验室，第三方试验室都不可见(stage2)(试验计划)
        //包括计划未通过审核
        if ("beforeaudit".equals(status.get("stage2")) && ("underissue".equals(status.get("stage")))) {
            r.put("试验院", "null");
            r.put("供应商", "-r-w");
            r.put("第三方试验室", "null");
            return r;
        }
        //计划提交审核，试验院可见可编辑部分内容，供应商可见不可编辑，无论是否指定第三方试验室，第三方试验室都不可见(stage2)(试验计划)
        if ("underaudit".equals(status.get("stage2")) && ("underissue".equals(status.get("stage")))) {
            r.put("试验院", "-r-w");
            r.put("供应商", "-r");
            r.put("第三方试验室", "null");
            return r;
        }
        //计划通过审核，试验院可见不可编辑，若该条实验项目为供应商，则该条试验项目供应商可见可编辑，第三方试验室不可见
        // 若该条实验项目为指定第三方试验室，则该条实验项目第三方试验室可见可编辑，供应商可见不可编辑(stage2)(试验计划)
        //包含整个计划正式提交前
        if ( ("beforeauditnew".equals(status.get("stage2")) || "underauditnew".equals(status.get("stage2")))&& ("underissue".equals(status.get("stage")))) {
            r.put("试验院", "-r");
            if ("02".equals(x)) {
                r.put("供应商", "-r");
                r.put("第三方试验室", "-r-w");
            } else {
                r.put("供应商", "-r-w");
                r.put("第三方试验室", "null");
            }
            return r;
        }
        //计划未通过审核，试验院不可见，供应商可以重新编辑后提交，可见可编辑，无论是否指定第三方试验室，第三方试验室都不可见(experimentstatus)
/*        if ("notstandard".equals(status.get("experimentstatus"))){
            r.put("试验院", "null");
            r.put("供应商", "-r-w");
            r.put("第三方试验室", "null");
            return r;
        }*/
        //整个计划提交审核中，试验院可见不可编辑，若该条实验项目为供应商，则该条试验项目供应商可见不可编辑，第三方试验室不可见
        // 若该条实验项目为指定第三方试验室，则该条实验项目第三方试验室可见不可编辑，供应商可见不可编辑(stage2)(试验计划)
/*        if ("underauditnew".equals(status.get("stage2")) && ("".equals(status.get("stage")) || status.get("stage")==null)){
            r.put("试验院", "-r");
            if ("02".equals(x)) {
                r.put("供应商", "-r");
                r.put("第三方试验室", "-r");
            } else {
                r.put("供应商", "-r");
                r.put("第三方试验室", "null");
            }
            return r;
        }*/
        //整体计划提交未通过，试验院可见不可编辑，若该条实验项目为供应商，则该条试验项目供应商可见可编辑，第三方试验室不可见
        // 若该条实验项目为指定第三方试验室，则该条实验项目第三方试验室可见可编辑，供应商可见不可编辑(status)
/*        if ("unqualified".equals(status.get("status"))){
            r.put("试验院", "-r");
            if ("03".equals(x)) {
                r.put("供应商", "-r");
                r.put("第三方试验室", "-r-w");
            } else {
                r.put("供应商", "-r-w");
                r.put("第三方试验室", "null");
            }
            return r;
        }*/
        //整体计划提交通过后，试验院和供应商可见不可编辑，若该条实验项目为指定第三方试验室，则该条试验项目第三方试验室可见不可编辑(stage2)(试验计划)
        if ("afteraduitnew".equals(status.get("stage2")) && ("underissue".equals(status.get("stage")))) {
            r.put("试验院", "-r");
            r.put("供应商", "-r");
            if ("02".equals(x)) {
                r.put("第三方试验室", "-r");
            } else {
                r.put("第三方试验室", "null");
            }
            return r;
        }
        r.put("试验院", "null");
        r.put("供应商", "null");
        r.put("第三方试验室", "null");
        return r;
    }
}
